The TIA (as seen by the programmer)
12.0 Input Ports
There are six input ports whose logic states can be read on
D7 by reading the input port addresses (INPT0, thru INPT5).
These six ports are divided into two types, "dumped" and
"latched".
12.1 Dumped Input Ports (INPT0 thru INPT3)
These four ports are used to read up to four paddle
controllers. Each paddle controller contains an adjustable
pot controlled by the knob on the controller. The output
of the pot is used to charge a capacitor in the console,
and when the capacitor is charged the input port goes HI.
The microprocessor discharges this capacitor by writing a
"1" to D7 of VBLANK then measures the time it takes to
detect a logic one at that port. This information can be
used to position objects on the screen based on the
position of the knob on the paddle controller.
12.2 Latched Input Ports (INPT4, INPT5)
These two ports have latches that are both enabled by
writing a "1" or disabled by writing a "0" to D6 of VBLANK.
When disabled the microprocessor reads the logic level of
the port directly. When enabled, the latch is set for
logic one and remains that way until its' port goes LO.
When the port goes LO the latch goes LO and remains that
way regardless of what the port does. The trigger buttons
of the joystick controllers connect to these ports.